package yingyong;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

/*
方法引用（数组的构造方法）
格式
        数据类型[]::new
目的：
        创建一个指定类型的数组
需求：
     集合中存储一些整数，收集到数组当中

细节：
    数组的类型，需要跟流中数据的类型保持一致。

*/
public class demo7 {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        Collections.addAll(list, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        /*格式
        数据类型[]::new*/
       /* 需求：
        集合中存储一些整数，收集到数组当中*/
//由于集合是Integer类型的所以不需要强制转换
        Integer[] arr = list.stream().toArray(Integer[]::new);
        System.out.println(Arrays.toString(arr));
       /* //收集到数组里
        Integer[] arr = list.stream().toArray(new IntFunction<Integer[]>() {
            @Override
            public Integer[] apply(int value) {
                return new Integer[value];
            }
        });
        System.out.println(Arrays.toString(arr));*/

        //
    }

}
